#
# This file is your local configuration file and is where all local user settings
# are placed. The comments in this file give some guide to the options a new user
# to the system might want to change but pretty much any configuration option can
# be set in this file. More adventurous users can look at local.conf.extended
# which contains other examples of configuration which can be placed in this file
# but new users likely won't need any of them initially.
#
# Lines starting with the '#' character are commented out and in some cases the
# default values are provided as comments to show people example syntax. Enabling
# the option is a question of removing the # character and making any change to the
# variable as required.

#
# Machine Selection
#
# You need to select a specific machine to target the build with. There are a selection
# of emulated machines available which can boot and run in the QEMU emulator:
#
#MACHINE ?= "qemuarm"
#MACHINE ?= "qemuarm64"
#MACHINE ?= "qemumips"
#MACHINE ?= "qemumips64"
#MACHINE ?= "qemuppc"
#MACHINE ?= "qemux86"
#MACHINE ?= "qemux86-64"
#
# This sets the default machine to be qemux86 if no other machine is selected:
#MACHINE ??= "raspberrypi2"

#
# Where to place downloads
#
# During a first build the system will download many different source code tarballs
# from various upstream projects. This can take a while, particularly if your network
# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
# can preserve this directory to speed up this part of subsequent builds. This directory
# is safe to share between multiple builds on the same machine too.
#
# The default is a downloads directory under TOPDIR which is the build directory.
#
#DL_DIR ?= "${TOPDIR}/downloads"

#
# Where to place shared-state files
#
# BitBake has the capability to accelerate builds based on previously built output.
# This is done using "shared state" files which can be thought of as cache objects
# and this option determines where those files are placed.
#
# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
# from these files if no changes were made to the configuration. If changes were made
# to the configuration, only shared state files where the state was still valid would
# be used (done using checksums).
#
# The default is a sstate-cache directory under TOPDIR.
#
#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"

#
# Where to place the build output
#
# This option specifies where the bulk of the building work should be done and
# where BitBake should place its temporary files and output. Keep in mind that
# this includes the extraction and compilation of many applications and the toolchain
# which can use Gigabytes of hard disk space.
#
# The default is a tmp directory under TOPDIR.
#
#TMPDIR = "${TOPDIR}/tmp"


#
# Package Management configuration
#
# This variable lists which packaging formats to enable. Multiple package backends
# can be enabled at once and the first item listed in the variable will be used
# to generate the root filesystems.
# Options are:
#  - 'package_deb' for debian style deb files
#  - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
#  - 'package_rpm' for rpm style packages
# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
# We default to ipk:
#PACKAGE_CLASSES ?= "package_deb"

#
# SDK target architecture
#
# This variable specifies the architecture to build SDK items for and means
# you can build the SDK packages for architectures other than the machine you are
# running the build on (i.e. building i686 packages on an x86_64 host).
# Supported values are i686 and x86_64
#SDKMACHINE ?= "i686"

#
# Extra image configuration defaults
#
# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
# images. Some of these options are added to certain image types automatically. The
# variable can contain the following options:
#  "dbg-pkgs"       - add -dbg packages for all installed packages
#                     (adds symbol information for debugging/profiling)
#  "dev-pkgs"       - add -dev packages for all installed packages
#                     (useful if you want to develop against libs in the image)
#  "ptest-pkgs"     - add -ptest packages for all ptest-enabled packages
#                     (useful if you want to run the package test suites)
#  "tools-sdk"      - add development tools (gcc, make, pkgconfig etc.)
#  "tools-debug"    - add debugging tools (gdb, strace)
#  "eclipse-debug"  - add Eclipse remote debugging support
#  "tools-profile"  - add profiling tools (oprofile, lttng, valgrind)
#  "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
#  "debug-tweaks"   - make an image suitable for development
#                     e.g. ssh root access has a blank password
# There are other application targets that can be used here too, see
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
# We default to enabling the debugging tweaks.
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"

#
# Additional image features
#
# The following is a list of additional classes to use when building images which
# enable extra features. Some available options which can be included in this variable
# are:
#   - 'buildstats' collect build statistics
#   - 'image-mklibs' to reduce shared library files size for an image
#   - 'image-prelink' in order to prelink the filesystem image
#   - 'image-swab' to perform host system intrusion detection
# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
USER_CLASSES ?= "buildstats image-mklibs image-prelink"


#
# Runtime testing of images
#
# The build system can test booting virtual machine images under qemu (an emulator)
# after any root filesystems are created and run tests against those images. To
# enable this uncomment this line. See classes/testimage(-auto).bbclass for
# further details.
#TEST_IMAGE = "1"
#
# Interactive shell configuration
#
# Under certain circumstances the system may need input from you and to do this it
# can launch an interactive shell. It needs to do this since the build is
# multithreaded and needs to be able to handle the case where more than one parallel
# process may require the user's attention. The default is iterate over the available
# terminal types to find one that works.
#
# Examples of the occasions this may happen are when resolving patches which cannot
# be applied, to use the devshell or the kernel menuconfig
#
# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
# Note: currently, Konsole support only works for KDE 3.x due to the way
# newer Konsole versions behave
#OE_TERMINAL = "auto"
# By default disable interactive patch resolution (tasks will just fail instead):
PATCHRESOLVE = "noop"

#
# Disk Space Monitoring during the build
#
# Monitor the disk space during the build. If there is less that 1GB of space or less
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
# of the build. The reason for this is that running completely out of space can corrupt
# files and damages the build in ways which may not be easily recoverable.
# It's necesary to monitor /tmp, if there is no space left the build will fail
# with very exotic errors.
BB_DISKMON_DIRS = "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    ABORT,${TMPDIR},100M,1K \
    ABORT,${DL_DIR},100M,1K \
    ABORT,${SSTATE_DIR},100M,1K \
    ABORT,/tmp,10M,1K"

#
# Shared-state files from other locations
#
# As mentioned above, shared state files are prebuilt cache data objects which can
# used to accelerate build time. This variable can be used to configure the system
# to search other mirror locations for these objects before it builds the data itself.
#
# This can be a filesystem directory, or a remote url such as http or ftp. These
# would contain the sstate-cache results from previous builds (possibly from other
# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
# cache locations to check for the shared objects.
# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
# at the end as shown in the examples below. This will be substituted with the
# correct path within the directory structure.
#SSTATE_MIRRORS ?= "\
#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
#file://.* file:///some/local/dir/sstate/PATH"


#
# Qemu configuration
#
# By default qemu will build with a builtin VNC server where graphical output can be
# seen. The two lines below enable the SDL backend too. By default libsdl-native will
# be built, if you want to use your host's libSDL instead of the minimal libsdl built
# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
#ASSUME_PROVIDED += "libsdl-native"

# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
# track the version of this file when it was generated. This can safely be ignored if
# this doesn't mean anything to you.
CONF_VERSION = "1"

###BK 20170530###
# 170531 in buildQ, have this in meta-quirky/conf/distro/quirky.conf
# for rpi, put it here. adding 'gles2 egl'
DISTRO_FEATURES_append = " nfs opengl ppp smbfs gles2 egl"

# in yocto, got an error when building initramfs, default maxsize is too small.
# INITRAMFS_MAXSIZE is set in meta/conf/bitbake.conf (= 131072 kb, 128MB).
# override here, 160MB:
INITRAMFS_MAXSIZE = "163840"

#no, leave it in for now...
# yocto/poky/meta/conf/bitbake.conf has this line:
# DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-introspection-data"
# ...this could be edited, or insert this into build/conf/local.conf:
DISTRO_FEATURES_BACKFILL_CONSIDERED = "pulseaudio"

# for vlc: dep 'mpeg2dec' requires commercial license.
LICENSE_FLAGS_WHITELIST += "commercial"

# ref: meta/conf/distro/include/default-distrovars.inc
# ref: http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#ref-features-machine
DISTRO_FEATURES_append = " nfs opengl ppp smbfs"
PACKAGE_CLASSES ?= "package_deb"

# 170502
# want to get rid of 'avahi' pkg. This is in DISTRO_FEATURES, see:
# meta/conf/distro/defaultsetup.conf is default distribution setup.
# it includes meta/conf/distro/include/default-distrovars.inc
# ref: https://www.toradex.com/community/questions/5524/how-to-disable-avahi-from-yocto-build.html
# ref: meta/recipes-core/packagegroups/packagegroup-base.bb
DISTRO_FEATURES_remove = "zeroconf"

# 170502
# ref: meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
# ...says to include 'xwayland' if DISTRO_FEATURE 'wayland' is enabled.
# so, add it to local.conf:
DISTRO_FEATURES_remove = "wayland"
# note, also need meta-quirky/recipes-graphics/xorg-xserver/xserver-xorg_1.19.1.bbappend
# as pkg 'libinput' pulled in wayland.

# 170513 *MOVED UP*  180419 added: libbluray v4l-utils
IMAGE_INSTALL_append = " libcdio libcdio-paranoia libcddb qpdf libbluray v4l-utils"

# 170502
# now start adding in multimedia support (already have some, ex libogg)
IMAGE_INSTALL_append = " lame schroedinger speex libtheora libvdpau libvpx x264 libxv ffmpeg"

# 170503  180415 removed  kodi
# now for kodi media player, which uses ffmpeg and sdl, and deps bring in some more media libs.
IMAGE_INSTALL_append = " lcms"

# 170503
# gtk+ libs and some infrastructure... 171130 removed 'foomatic-filters'
IMAGE_INSTALL_append = " nspr nss mingetty minicom man iptables ethtool unzip zip tzdata procps psmisc xdg-utils cups ghostscript hicolor-icon-theme librsvg gtk+"

# 170505 add some utilities and gtk2 apps...
IMAGE_INSTALL_append = " openbox dialog hexedit rtorrent xdelta3 hplip usb-modeswitch usb-modeswitch-data pidgin gparted gphoto2 gimp"
# and some more x apps...
IMAGE_INSTALL_append = " numlockx xcursorgen bdftopcf iceauth xfontsel xgamma xmessage xrdb xsetmode xsetroot xterm xwd setxkbmap xev xwininfo"

# 170505 go for a browser. firefox uses gtk2 and ffmpeg...
IMAGE_INSTALL_append = " firefox"

# 170505 
IMAGE_INSTALL_append = " glm libreoffice"
# ...success

# 170506
# finish off with everything can find in OE...
# some were previously only -native
# 170531 removed 'nsam' and 'yasm' these are x86 only.
IMAGE_INSTALL_append = " aufs-util bc cdrkit dhcpcd dmidecode exfat-utils f2fs-tools faac fltk fuse git geany gperf gptfdisk guile hiawatha liba52 libarchive libavc1394 libdc1394 libdvdnav libgee libsdl-ttf ntfs-3g-ntfsprogs opencore-amr pptp-linux pure-ftpd qemu rpm rp-pppoe squashfs-tools streamripper subversion sudo tar wget xmlto xorriso"
# more, maybe...
# IMAGE_INSTALL_append = "  docbook-xml-dtd docbook-xsl-stylesheets help2man"

# 170507
# have create meta-quirky/recipes-quirky
# ifplugd needs libdaemon
# took out 'ttf-dejavu' as do_rootfs says can't find it ...weird.
#180415 removed .
IMAGE_INSTALL_append = " libdaemon mped jwm rox-filer dia didiwiki dvd+rw-tools gpicview gftp ifplugd inotify-tools leafpad rxvt-unicode unrar xclip xdialog wvstreams wvdial"

# 170509
# some pkgs in yocto build, got left out this time...
IMAGE_INSTALL_append = " cpio ed gtksourceview2 gzip"

# 170510
# built quirky pyro64, found 'cmake' missing
# firefox: glib-gio: error 'update-desktop-database' missing. this is in 'desktop-file-utils'
IMAGE_INSTALL_append = " cmake desktop-file-utils"

# 170513 note, an entry this date inserted above.
# fail:  180421 still fail: xsane
IMAGE_INSTALL_append = " sane-backends"

# 170521 have released pyro64 0.2, now add more...
# broken: 'libvdpau-va-gl' ...compiled in pyro64.
# 170531 removed 'xresprobe' as x86 only.
IMAGE_INSTALL_append = " gsettings-desktop-schemas vim libglade galculator"

# 170601
# for buildQ, IMAGE_FEATURES is in meta-quirky/recipes-core/image/core-image-quirky.bb
# but for raspberrypi build need to do it here...
# want compiling in target machine.
# ref: http://trac.gateworks.com/wiki/Yocto/NativeCompile
# ref: http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#usingpoky-extend-customimage-localconf
# when ran "bitbake -g rpi-hwup-image" reported one invalid IMAGE_FEATURES and this: (fixed)
# Valid features: allow-empty-password dbg-pkgs debug-tweaks dev-pkgs doc doc-pkgs eclipse-debug empty-root-password hwcodecs nfs-client nfs-server package-management post-install-logging ptest-pkgs read-only-rootfs splash ssh-server-dropbear ssh-server-openssh staticdev-pkgs tools-debug tools-profile tools-sdk tools-testapps x11 x11-base x11-sato
IMAGE_FEATURES_append = " dev-pkgs ssh-server-openssh tools-debug tools-sdk x11 hwcodecs package-management debug-tweaks"
IMAGE_INSTALL_append = " kernel-dev"
# for buildQ, MACHINE_EXTRA_RRECOMMENDS is in meta-quirky/conf/machine/pcx86-64.conf
# for raspberrypi, look in meta-raspberrypi/conf/machine.include/rpi-base.inc, need more here:
MACHINE_EXTRA_RRECOMMENDS_append = " linux-firmware eee-acpi-scripts"

# 170602
# less pkgs built compared with buildQ. hmmm, add some:
IMAGE_INSTALL_append = " acpid alsa-utils eee-acpi-scripts grep hdparm iw libevdev mobile-broadband-provider-info mtdev pciutils setserial stat sysfsutils tcp-wrappers usbutils wireless-tools wpa-supplicant xf86-input-evdev xf86-input-keyboard xf86-input-mouse xf86-input-synaptics xf86-video-fbdev"
# ERROR: vc-graphics-hardfp was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics-hardfp
#IMAGE_INSTALL_append = " vc-graphics-hardfp"

# 170608
IMAGE_INSTALL_append = " bacon bacon-hug bacon-hug-imports pup-tools gnome-menus xdg-puppy ijs cups-filters"
# 170610
IMAGE_INSTALL_append = " evince fpm2 gccmakedep gcolorsel gdmap gfontsel ghasher gif2lss gifsicle glipper-lite"
# 170611
IMAGE_INSTALL_append = " gmeasures gpart gphotofs gpptp sgml-common opensp libofx grisbi homebank"
# 170612 note: failed to build ''
IMAGE_INSTALL_append = " gtk-chtheme gtkdialog gtklp libgtkhtml gnet libsystem helpsurfer gutenprint gview gxmessage gwhere"
# 170613 .
IMAGE_INSTALL_append = " hotplug2stdout ifplugd-old imake isomaster ktsuss libdvdcss libexif-gtk"
# 170614 note: libgd is now a dep of libgphoto2  180415 removed 
IMAGE_INSTALL_append = " libgd libpng12 metamail mhwaveedit minixcal mpscan nbtscan libgnomecanvas libxscrnsaver makedepend whois mirdir"
# 170615  180415 removed .
IMAGE_INSTALL_append = " xcalc xclipboard xvidtune patchutils picscale powerapplet-tray puppyinputdetect puppyserialdetect read-edid planner"
# 170616 170617   180415  180419 cannot compile .
IMAGE_INSTALL_append = " retrovol rman rsync scale2x setvol netpbm bbc-provided bcrypt cddetect cddetect-quick cgtkcalc ctorrent curlftpfs libmaa dictd-client disktype dvdauthor hostname gfnrename installwatch modem-stats nenscript normalize"
# 170618  180415 removed .  180419 unable to compile: 
IMAGE_INSTALL_append = " osmo ssh-gui sshpass udftools uget unclutter vamps vcdimager vobcopy yad peasyscale-exec libao vorbis-tools wavplay xarchive xcur2png xload xlockmore xsoldier xvkbd libtubo xfdiff-cut peasyscan-exec"
# 170625 170626 170627 .
IMAGE_INSTALL_append = " freememapplet-tray network-tray chrpath mtpaint xine-lib notecase"

# 171020
#IMAGE_INSTALL_append = " samba"
# 171026 removed for now, using my pet. this one has dep 'krb5', my pet doesn't.
#        none of the above pkgs have dep 'samba', so no problem with removing it.

# 171029 want 'ntpdate' utility, out of 'ntp' pkg...
IMAGE_INSTALL_append = " ntp arp-scan bbe pnscan pmcputemp mdview dvd-close ufiformat libtommath"
# 171101  180418 removed:   inkscapelite compiles, but crashes at startup.
IMAGE_INSTALL_append = " hardinfo mtr vte sakura notecase xine-ui"

# 171120 note, libxml-parser-perl is already included, a dep of something earlier.
IMAGE_INSTALL_append = " libxml-parser-perl libcgi-perl libdigest-sha1-perl libhtml-parser-perl liburi-perl libxml-simple-perl"

# 180421 gtk+3 brings in deps at-spi2-core, at-spi2-atk, adwaita-icon-theme
# note, woofQ has adwaita-icon-theme builtin to rootfs-skeleton, so don't need the pkg.
IMAGE_INSTALL_append = " gtk+3 mpv gnome-mpv libwebp aumix"

#####################
# This sets the default machine if no other machine is selected:
MACHINE ??= "qemuarm64"
#MACHINE ??= "genericarm64"

# 180504
IMAGE_INSTALL_append = " xdotool"

